<template>
  <UploadExcel :on-success="success"></UploadExcel>
</template>

<script>
// 导入批量接收员工接口
import { importEmployee } from '@/api/employees'
export default {
methods:{
  //添加成功事件触发的方法：第二个参数是导入的员工信息
async success({ header, results }) { 
// 创建内容转化因为穿过来的数据名称是字符要转换成上传所需要的类型
      // 如果是导入员工
        const userRelations = {
          '入职日期': 'timeOfEntry',
          '手机号': 'mobile',
          '姓名': 'username',
          '转正日期': 'correctionTime',
          '工号': 'workNumber'
        }
        // console.log(results);
// 创建一个arr数组遍历results拿到的是每一个对向
let arr = results.map(item=>{
  // 然后创建一个空对象接收数据
  let userInfo={}
  // 使用对象方法遍历每一个 Object.keys(item)拿到的是每一个对象里面的属性名KEY三个对象里面的属性名
  Object.keys(item).forEach(KEY=>{
    // userInfo[userRelations[KEY]]是传入文件的值item[KEY]也是每一个对象的值
    userInfo[userRelations[KEY]]=item[KEY]
    if(userRelations[KEY]=='timeOfEntry'||userRelations[KEY]=='correctionTime'){
userInfo[userRelations[KEY]]=new Date(this.formatDate(item[KEY],"/"))
    }
  })
    // console.log(userInfo);
// 最后返回的数据就符合传输的要求了是因为userInfo这个空对象里面的userRelations匹配到可替换字段替换完成之后将值赋值给了相应的文件
  return userInfo
})
// 批量上传新增的员工数据
await importEmployee(arr)
// 弹窗提示
 this.$message.success('导入excel成功')
  this.$router.back() // 回到上一个页面 （从员工管理界面进来，就可以回到员工管理界面）
},
//转化excel的日期格式（直接复制即可）
formatDate(numb, format) {
    const time = new Date((numb - 1) * 24 * 3600000 + 1)
    time.setYear(time.getFullYear() - 70)
    const year = time.getFullYear() + ''
    const month = time.getMonth() + 1 + ''
    const date = time.getDate() - 1 + ''
    if (format && format.length === 1) {
        return year + format + month + format + date
    }
    return year + (month < 10 ? '0' + month : month) + (date < 10 ? '0' + date : date)
}
},

}
</script>

<style>

</style>